// 高精度乘法

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    // 输入两个数
    string aStr, bStr;  // "123456"
    cin >> aStr >> bStr;//    "678"

    vector<int> a, b;

    // 转换成数字，并倒置放入a和b中
    //     个 十 百 千 ……
    // a: [ 6 5 4 3 2 1 ]
    // b: [ 8 7 6 ]
    for(int i=aStr.length()-1; i>=0; i--)
        a.push_back(aStr[i]-'0');
    for(int i=bStr.length()-1; i>=0; i--)
        b.push_back(bStr[i]-'0');

    vector<int> answer(a.size()+b.size());
    unsigned long i, j;
    int carry = 0;
    for(i=0; i<a.size(); i++)
    {
        for(j=0; j<b.size(); j++)
        {
            int tmp = a[i] * b[j] + carry;
            carry = 0;

            // 累加到某一位上
            answer[i+j] += tmp%10;
            if(answer[i+j] >= 10)
            {
                carry += answer[i+j]/10;
                answer[i+j] %= 10;
            }
            carry += tmp/10;
        }
        answer[i+j] += carry;

        if(answer[i+j] >= 10)
        {
            carry += answer[i+j]/10;
            answer[i+j] %= 10;
        }
        else
            carry = 0;
    }

    // 去除前置0
    int k;
    for(k=answer.size()-1; answer[k]==0&&k>=0; k--);

    // 输出结果
    if(k==-1)
        cout << 0;
    else
    {
        for(; k>=0; k--)
            cout << answer[k];
    }
    cout << endl;

    return 0;
}
